where the state $x \in R^n$, the input $u \in R^m$, and the vector fields $f$ and $g$ are smooth.
Dynamic state feedback: used when the system is not completely linearizable by diffeomorphism and static state feedback.
This method have some kind of memory: Delay some combinations of inputs simultaneously affecting several outputs, via the addition of integrators, in order to enable other inputs to act in the meanwhile.
Why is also called dynamic extension?
Remember: The decoupling matrix $D(x)$ is required to be non-zero and non-singular if it is a square system.
Singular decoupling matrix $D(x)$ is caused by either insufficient input channels or insufficient output channels, or both.
Solutions: Add an input integrator or redefine an output.
Idea: full linearization can be achieved by dynamic feedback laws of the form:
\begin{equation} \begin{matrix} \dot{\omega} = A(x,\omega) + B (x, \omega) \upsilon \\ u = \alpha (x,\omega) + \beta (x, \omega) \upsilon \end{matrix} \end{equation}where $\upsilon$ is an auxiliary control input. This form is also called dynamic compesator
Such a dynamic feedback is obtained through the choice of $m$ suitable linearizing output functions
\begin{equation} y_i=h_i(x) \end{equation}for $i = 1,...,m$
Extended decopling system:
\begin{equation} y_k^{r_k} = \upsilon _k \end{equation}for $k = 1,...m$.
Given: \begin{equation} \upsilon = \begin{bmatrix} \upsilon_1\\ \vdots\\ \upsilon_m \end{bmatrix} = \begin{bmatrix} y_1^{r_1}\\ \vdots\\ y_m^{r_m} \end{bmatrix} \end{equation}
means that we need to derivate $y_k$ until their relative degree $r_k$. Then, we obtain:
\begin{equation} \upsilon = b(x) + D(x)u \end{equation}and
\begin{equation} u = D(x)^{-1}*b(x) + D(x)^{-1}\upsilon = \alpha (x,\omega) + \beta (x, \omega) \upsilon \end{equation}The sum of the relatives degrees give us the dimension of the new extended system:
\begin{equation} \sum _{k=1}^{m}{r_k} = n_e \end{equation}where $n_e$ is the dimension of the extended state vector:
\begin{equation} x_e = \begin{bmatrix} x \\ \dot{\omega} \end{bmatrix} \end{equation}The extended system is:
\begin{equation} \begin{matrix} \dot{x} = f(x) + g(x)(\alpha(x,\omega) + \beta(x,\omega)*\upsilon\\ \dot{\omega} = A(x,\omega) + B (x, \omega) \upsilon \end{matrix} \end{equation}The auxiliar inputs are calculated for tracking as:
Gu, E. Y. (2013). A journey from robot to digital human: mathematical principles and applications with MATLAB programming (Vol. 1). Springer Science & Business Media.
Fossard, A. J., & Normand-Cyrot, D. (Eds.). (2012). Nonlinear Systems: Control 3. Springer Science & Business Media.
de Wit, C. C., Siciliano, B., & Bastin, G. (Eds.). (2012). Theory of robot control. Springer Science & Business Media.